package cn.thinkluck.pattern.singleton;

/**
 * @Author liutao
 * @DateTime 2024/7/14 下午9:18
 * 静态内部类实现懒加载单例
 */
public class InnerSingleton {
    private InnerSingleton() {
    }
    public static InnerSingleton getInstance() {
        return InnerClass.INSTANCE;
    }

    /**
     * 内部类会在第一次调用getInstance()方法时才被加载，并且只会被加载一次
     * 这样就符合了懒加载
     */
    private static class InnerClass {
        // 静态变量INSTANCE在第一次加载时初始化
        private static final InnerSingleton INSTANCE = new InnerSingleton();
    }
}
